package org.bet.dao.mongo;

import org.bet.dao.SyndicatorDao;
import org.bet.domain.Syndicator;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;

public class MongoDBSyndicatorDao implements SyndicatorDao {
	MongoTemplate mongoTemplate;
	
	
	public MongoTemplate getMongoTemplate() {
		return mongoTemplate;
	}

	public void setMongoTemplate(MongoTemplate mongoTemplate) {
		this.mongoTemplate = mongoTemplate;
	}

	@Override
	public Syndicator getSyndicator(String id) {
		Query query = new Query(new Criteria("id").is(id));
		
		return mongoTemplate.findOne(query, Syndicator.class);
	}

	@Override
	public boolean existsSyndicator(String id) {
		return getSyndicator(id) != null;
	}

//	@Override
//	public void insertSyndicator(Syndicator syndicator) {
//		if(syndicator != null){
//			mongoTemplate.insert(syndicator);
//		}
//	}
//
//	@Override
//	public void updateSyndicator(Syndicator syndicator) {
//		if(syndicator != null){
//			mongoTemplate.save(syndicator);
//		}
//	}

	@Override
	public void saveOrUpdateSyndicator(Syndicator syndicator) {
		if(syndicator != null){
			mongoTemplate.save(syndicator);
		}		
	}

}
